public with sharing virtual class ComponentControllerBase {
/***
	See http://wiki.developerforce.com/page/Controller_Component_Communication for explanations...
***/
	
	public string key { 
		get;
		set{
			if(value != null){
				Key = value;
				
				if(pageController != null){
					pageController.setComponentControllerMap(Key, this);
				}
			}
		}
	}

	public PageControllerBase pageController { 
		get; 
		set {
			if (value != null) {
				pageController = value;
				pageController.setComponentController(this);
			}
		}
	}
  
}